The present invention relates generally to network management, and more particularly, to retrieval of table entries from a management information database.
It is desirable to manage and control nodes of a network such as a TCP/IP network from one or more network management stations connected to the network. The network management stations monitor and control other nodes in the network including hosts, routers, etc. A protocol known as the Simple Network Management Protocol (SNMP) is used to communicate management information between network management stations and management agent software operating on other network nodes. SNMP is described in Case, RFC 1157, xe2x80x9cA Simple Network Management Protocol (SNMP), (Internet Engineering Task Force May 1990), the contents of which are incorporated by reference herein. Using SNMP in a TCP/IP network, a network management station may monitor traffic at a remote node and modify network operation parameters at the remote node.
To facilitate SNMP operation, nodes of a TCP/IP network including the network management stations maintain network management information databases known as MIBs (management information bases). MIBs are described in McCloghrie, et al., RFC 1213, xe2x80x9cManagement Information Base for Network Management of TCP/IP Based Internets: MIB-IIxe2x80x9d (Internet Engineering Task Force March 1991), the contents of which are incorporated by reference herein.
The MIB at each node consists of many individual objects, each having a single value. For example, a particular node may include within its MIB an object whose value specifies the total number of IP datagrams received at that node, including those received in error. The MIB at the network management station may include an object specifying the time since the network management software at the station was last reinitialized. Each MIB includes a large number of such objects.
Each MIB object is specified by an object identifier (OID). The OID includes a number of elements which specify the type of object and a particular instance of that type. For example, an object whose value indicates the total number of input octets on an interface of a node is denoted by the OID 1.3.6.1.2.1.2.2.1.10.x, where x is an element that indicates a specific instance of the type identified by the values preceding x. In this case, x is just one integer and identifies a particular interface of the node storing the object referenced by the OID.
SNMP is a request-response protocol by which the variables of an agent""s MIB may be inspected or altered. The protocol is described in RFC 1448, xe2x80x9cProtocol Operations for Version 2 of the Simple Network Management Protocolxe2x80x9d, Case, McCloghrie, Rose and Waldbusser, April 1993, the contents of which are incorporated by reference herein. The management protocol provides for the exchange of messages which convey management information between the agents and management stations. The management station sends a request to an agent asking it for information or commanding it to update its state in a certain way. The agent typically replies with the requested information or confirms that it has updated its state as requested. Data is sent using the ASN. I transfer syntax described in RFC 1157, referenced above. Conventional message types include Get, GetNext, GetBulk, Set, Trap, and Inform. The Get operation is used by the system to retrieve the value of one or more object instances from an agent. The GetNext operation is used by the system to retrieve the value of the next object instance in a table or list within an agent. The GetBulk operation is used by the system to efficiently retrieve large blocks of data, such as large tables. The Set operation is used by the network management system to set the values of object instances within an agent. The trap operation is used by agents to asynchronously inform the network management system of a significant event. The Inform operation allows one network management system to send trap information to another network management system and receive a response.
The Get requests are generated by a protocol entity at the request of its SNMP application entity. For example, if the management station wants to receive multiple OIDs contained within a table, the management station will send multiple GetNext messages until there no additional entries in the table. For each GetNext request, the agent returns those objects that are next in the lexicographical ordering of the known object names. The GetNext response provides the name of the object, in the lexicographical ordering of the names of all objects available for get operations in the relevant MIB view, together with the value of the name field. If the management station wants to receive specific table entries such as all the elements of a table row indexed by a particular element (e.g., owner/name or Ethernet interface), the management station has to send multiple Get requests for a list of OIDs and put this information in a table form. One disadvantage of conventional Get requests is that the management station has to go through the table entries in lexicographical order and cannot vary a specific element. There is currently no efficient way to request and receive table entries indexed by a specific element.
There is, therefore, a need for a protocol data unit which can be used by a network management system to request and receive from a managed device database table entries indexed by a particular entry element.
Systems and methods for efficient retrieval of table entries are provided by virtue of the present invention.
According to one aspect of the invention, a computer-implemented method retrieves table entries identified by an object identifier having a plurality of elements. The method includes receiving a request for table entries, the request including at least one table entry object identifier and an index identifying at least one of the plurality of elements. The method further includes varying the index element in the table entry object identifier and sending a response including the table entries obtained by varying the index element.
A computer program product of the present invention generally comprises code that receives a request for table entries identified by an object identifier having a plurality of elements. The request includes at least one table entry object identifier and an index identifying at least one of the plurality of elements. The product further includes code that varies the index element in the table entry object identifier and sends a response including the table entries obtained by varying the index element. The product also includes a computer readable storage medium for storing the codes.
In another aspect of the present invention, a computer system comprises a processor that executes a program for retrieving table entries identified by an object identifier having a plurality of elements. The program includes code that receives a request for table entries. The request includes at least one table entry object identifier and an index identifying at least one of the plurality of elements. The program also includes code that varies the index element in the table entry object identifier and sends a response including the table entries obtained by varying the index element. The computer system further includes a computer readable medium having the program stored thereon.